package com.milkshopbackend.milkshop.Service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.milkshopbackend.milkshop.entity.Order;
import com.milkshopbackend.milkshop.entity.OrderCreateDTO;
import com.milkshopbackend.milkshop.entity.OrderQueryDTO;
import com.milkshopbackend.milkshop.entity.OrderReviewDTO;

public interface OrderService extends IService<Order> {

    Order createOrder(OrderCreateDTO orderDTO);

    Order getOrderById(Long orderId);

    void cancelOrder(Long orderId,String  reason);

    Page<Order> listOrders(OrderQueryDTO orderQueryDTO);

    void payOrder(Long orderId, Integer paymentMethod);

    // 发货
    void shipOrder(Long orderId, String trackingNo, String shippingCompany);

    // 确认收货
    void confirmOrder(Long orderId);

    // 评价订单
    void reviewOrder(Long orderId, OrderReviewDTO reviewDTO);



    void completeOrder(Long orderId);

    Order getOrderByOrderNo(String orderNo);

    void deliverOrder(Long orderId);

    void receiveOrder(Long orderId);
}
